

var generate_redir_url = function(){
	//params
	var params = $(".param").filter(function () {return $.trim(this.value);}).serialize();
	//url
	redirurl = location.protocol + "//" + location.hostname + (location.port?":"+location.port:"") + "/?" + params;
    $("#redirurl").val(redirurl);
	//update go button
	$("#go").attr("href", $("#redir").val()); 
}

var parse_redir_url = function(){
	//iterate form fields to fetch query paremeter
	$(".param").each(function(){
		var re = new RegExp(""+$(this).attr("name")+"=([^&#]+)");
		var matches = re.exec($("#redir").val());
		if (matches != null){
			$(this).val(decodeURIComponent(matches[1]));
		}
	});
	//update go button
	$("#go").attr("href", $("#testurl").val()); 
}

//build url
$(".param").change(generate_redir_url);
$(".param").keypress(generate_redir_url);
$("#redirurl").change(parse_redir_url);
$("#redirurl").keypress(parse_redir_url);


//form interactions
var load_default_value = function(){
	//if ($.trim($(this).val())==''){
    //    $(this).val($(this).attr("title"));
    //  }
}
$(".param, #redirurl").focusin(function(){
	//if ($(this).val()==$(this).attr("title")){
    //    $(this).val('');
    //  }
})
//$(".param, #redirurl").focusout(load_default_value);
//auto-select
$("#redirurl").click(function(){
	 $(this).select();
});

//onload
$(document).ready(function(){
    //load default values
    $(".param, #redirurl").each(load_default_value);
	//go
	$("#go").button();
});

//update go button
$("#go").mousedown(function(){
	$("#go").attr("href", $("#redirurl").val());
});



